home *** CD-ROM | disk | FTP | other *** search
- ; Markus Horn
-
- ;Diese Joystickfunktion benutzt Shift und addx-Befehle um
- ;die richtungsspezifischen Bits auszufiltern.
-
- ;möchte man einen Joystick in Port1 abfragen, schreibt man
- ;anstelle von btst #7,$bfe001
- ; btst #6,$bfe001
- ;und anstelle von move.w $dff00c,d0
- ; move.w $dff00a,d0
-
- ;D1 enthält das Ergebnis der Joystickauswertung.
-
- ; Bit0 - Joystick oben
- ; Bit1 - Joystick unten
- ; Bit2 - Joystick links
- ; Bit3 - Joystick rechts
- ; Bit4 - Joystick Feuerknopf gedrückt
-
- testjoy2:
- moveq #0,d1 ;d1 - Joyergebnis löschen
- btst #7,$bfe001 ;teste Feuerknopf Joystick2
- bne.s rechts ;nicht gedrückt weiter
- addq.w #1,d1 ;feuerknopf - Bit4 in d1 setzen
- rechts: move.w $dff00c,d0 ;Joystickstatus -> d0
- move.w d0,d2 ;und ->d2
- lsr.w #1,d0 ;d0 ein Bit nach rechts schieben
- eor.w d0,d2 ;und mit d2 verknüpfen
- lsr.w #1,d0 ;rechtsrelevantes Bit schieben und
- addx.w d1,d1 ;über xFlag - Bit3 in D1 setzen
- add.b d0,d0 ;linksrelevantes Bit schieben und
- addx.w d1,d1 ;über xFlag - Bit2 in D1 setzen
- lsr.w #1,d2 ;untenrelevantes Bit schieben und
- addx.w d1,d1 ;über xFlag - Bit1 in D1 setzen
- add.b d2,d2 ;obenrelevantes Bit schieben und
- addx.w d1,d1 ;über xFlag - Bit0 in D1 setzen
- rts ;Rücksprung
-
-